<?php
require_once("Configuracoes.php");
require_once("../fbsdk/facebook.php");

if (!isset($_REQUEST["fase"])) {
  if (isset($_GET["code"])) {
    $_REQUEST["fase"] = "1.1";
  }
}

if (isset($_REQUEST["fase"])) {
  switch ($_REQUEST["fase"])  {
    case "1.0":
      $configuracoes->setAppID($_REQUEST["AppID"]);
      $configuracoes->setCanvasURL($_REQUEST["CanvasURL"]);
      $configuracoes->setPermissions($_REQUEST["Permissions"]);
      $configuracoes->salvar("./configuracoes.json");
      
      header("Location: https://www.facebook.com/dialog/oauth?client_id={$configuracoes->getAppID()}&redirect_uri=" . urldecode($configuracoes->getCanvasURL()) . "&scope={$configuracoes->getPermissions()}");
    break;
    case "1.1":
      $configuracoes->setAuthenticationCode($_GET["code"]);
      $configuracoes->salvar("./configuracoes.json");
    break;
    case "2.0":
      $configuracoes->setSecretID($_REQUEST["AppSecret"]);
      $configuracoes->salvar("./configuracoes.json");
    break;
    case "2.1":
      $configuracoes->setAccessToken($_REQUEST["AccessToken"]);
      $configuracoes->salvar("./configuracoes.json");
    break;
  }
}
?>
<!DOCTYPE html>
<html>
  <head>
    <meta http-equiv="Expires" content="Fri, Jan 01 1900 00:00:00 GMT">
    <meta http-equiv="Pragma" content="no-cache">
    <meta http-equiv="Cache-Control" content="no-cache">
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <meta http-equiv="Lang" content="pt-br">
    <meta name="author" content="Carlos Barreto Feitoza Filho">
    <meta name="generator" content="PhpED 14.0">
    <title>Configurações do Social Block Monitor</title>
<?php
if ($_REQUEST["fase"] == "2.0") {
  $graph_url= "https://graph.facebook.com/oauth/access_token";
  $querystring = "?client_id=" . $configuracoes->getAppID()
               . "&redirect_uri=" . urlencode($configuracoes->getCanvasURL())
               . "&client_secret=" . $configuracoes->getAppSecret()
               . "&code=" . $configuracoes->getAuthenticationCode();
?>
    <script type="text/javascript" src="prototype.js"></script>
    <script type="text/javascript">
function obterAccessToken() {
  var params = new Hash();
  
  if (Prototype.Browser.IE) {
    params.set("cachebuster",new Date().getTime());
  }
  
  var sucesso = false;
  
  new Ajax.Request("<?php echo($graph_url . $querystring) ?>"
                  ,{ method: "get"
                   , onSuccess: function(xhrObject) {
                                  $("accessTokenObtendo").style.display = "none";
                                  $("accessTokenObtido").style.display = "block";
                                  var resposta = xhrObject.responseText.split("=")[1];
                                  resposta = resposta.split("&")[0];
                                  $("AccessToken").value = resposta;
                                  sucesso = true;
                   }
                   , parameters: params
                   , onCreate: function(xhrObject) {
                                 xhrObject.transport.setRequestHeader = Prototype.emptyFunction; 
                                 $("accessTokenObtendo").style.display = "block";  
                               }
                   , onComplete: function(xhrObject) {
                                   if (!sucesso) {
                                     $("accessTokenObtendo").style.display = "none";
                                     $("accessTokenNaoObtido").style.display = "block";
                                   }
                   }
                   });
}

Event.observe(document
             ,"dom:loaded"
             ,function() {
                obterAccessToken()                     
             });
    </script>
<?php
}
?>    
  </head>
  <body style="font-family:sans-serif; font-size: 12pt;">
    <h1 style="text-align: center;">Configurações do Social Block Monitor</h1>
<?php
if (!isset($_REQUEST["fase"])) {  
?>
    PASSO 1:<br>
    <form action="./index.php" method="POST">
      <input type="hidden" name="fase" value="1.0">
      App ID: <input type="text" name="AppID" id="AppID" size="20" value="<?php echo($configuracoes->getAppID())?>"><br>
      Canvas URL: <input type="text" name="CanvasURL" id="CanvasURL" size="50" value="<?php echo($configuracoes->getCanvasURL())?>"><br><br>
      Permissões (separadas por vírgulas e sem espaços em branco):<br>
      <textarea name="Permissions" id="Permissions" style="width: 600px; height: 75px"><?php echo(trim($configuracoes->getPermissions()))?></textarea><br>
      Para ver as permissões disponíveis, vá <a href="https://developers.facebook.com/docs/facebook-login/permissions/v2.0">aqui</a><br>
      <input type="submit" value="Obter código de autenticação">
    </form>
<?php
} else if ($_REQUEST["fase"] == "1.1") { 
?>
    PASSO 2:<br>
    <form action="./index.php" method="POST">
      <input type="hidden" name="fase" value="2.0">
      App ID: <input type="text" name="AppID" id="AppID" size="20" value="<?php echo($configuracoes->getAppID())?>" disabled="true"><br>
      Canvas URL: <input type="text" name="CanvasURL" id="CanvasURL" size="50" value="<?php echo($configuracoes->getCanvasURL())?>" disabled="true"><br><br>
      Código de autenticação:<br>
      <textarea name="AuthenticationCode" id="AuthenticationCode" style="width: 600px; height: 75px" disabled="true"><?php echo(trim($configuracoes->getAuthenticationCode()))?></textarea><br><br>
      App Secret: <input type="text" name="AppSecret" id="AppSecret" size="32" value="<?php echo($configuracoes->getAppSecret())?>"><br>
      <input type="submit" value="Obter token de acesso">
    </form>
<?php
} else if ($_REQUEST["fase"] == "2.0") {
?>
<div style="text-align: center;">
  <div id="accessTokenObtido" style="display: none">
    O token de acesso foi obtido com sucesso e está representado abaixo<br>
    <form action="./index.php" method="POST">
      <input type="hidden" name="fase" value="2.1">
      <table align="center" width="90%">
        <tr>
          <td style="text-align: center; font-family: monospace;">
            <textarea name="AccessToken" id="AccessToken" style="width: 600px; height: 75px" readonly="true"></textarea>
          </td>
        </tr>
      </table>
      <input type="submit" value="Clique aqui para salvar o Token de Acesso">
    </form>
  </div>
  <div id="accessTokenObtendo" style="display: none">
    Obtendo Access Token
  </div>
  <div id="accessTokenNaoObtido" style="display: none">
    Não foi possível obter o Accss Token
  </div>
</div>
<?php
} else if ($_REQUEST["fase"] == "2.1") {
?>
<div style="text-align: center;">Confira abaixo todas as propriedades que foram informadas e que já estão salvas</div>
<pre>
<?php var_dump($configuracoes); ?>
</pre>
<div style="text-align: center;">Para ver informações sobre o Token de Acesso, clique <a href="https://developers.facebook.com/tools/debug/access_token">aqui</a></div>
<?php
}
?>
  </body>
</html>
<?php


          
          
//  echo("saida aqui");
//  echo(file_get_contents($url + '?' + $postData));
  
  
//  $phpObj =  json_decode($json);
//  echo($url);
//  var_dump($phpObj);

//$yql_base_url = "http://query.yahooapis.com/v1/public/yql";
//
//  $yql_query = "select LastTradePriceOnly from yahoo.finance.quote where symbol='" . $aMoeda . "BRL=X'";
//  
//  $yql_query_url = $yql_base_url . "?q=" . urlencode($yql_query);
//
//  $yql_query_url .= "&format=json&env=store%3A%2F%2Fdatatables.org%2Falltableswithkeys&callback=";
//
//  $session = curl_init($yql_query_url);
//
//  curl_setopt($session, CURLOPT_RETURNTRANSFER,true);
//
//  $json = curl_exec($session);
//
//  $phpObj =  json_decode($json);


//  $dir = dirname(__FILE__);
//  echo "<p>Full path to this dir: " . $dir . "</p>";
//  echo "<p>Full path to a .htpasswd file in this dir: " . $dir . "/.htpasswd" . "</p>";
//  print_r($_GET);  
?>
